package cn.scnu.service;

import cn.hutool.core.lang.tree.Tree;
import cn.scnu.common.model.PaginationData;
import cn.scnu.model.W3dServiceInfoEntity;
import cn.scnu.model.dto.W3dServiceInfoDTO;
import cn.scnu.model.dto.W3dServiceInfoUpdateDTO;
import cn.scnu.model.query.W3dServiceInfoQueryParam;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hqzqaq
 * @since 2024-12-10
 */
public interface IW3dServiceInfoService extends IService<W3dServiceInfoEntity> {

    W3dServiceInfoDTO getW3dServiceInfoById(String id);

    PaginationData<W3dServiceInfoDTO> getW3dServiceInfoPage(W3dServiceInfoQueryParam queryParam);

    Integer insertW3dServiceInfo(W3dServiceInfoDTO w3dServiceInfoDTO);

    Integer updateW3dServiceInfo(W3dServiceInfoUpdateDTO w3dServiceInfoUpdateDTO);

    Integer deleteW3dServiceInfoById(String id);

    List<Tree<String>> getW3dServiceInfoCatalogue();

    String dataDownload(String sjmc, String da);

    void dataDownload(String fileName, HttpServletResponse response);
}
